BlackByte
Guest
Карма: 388 поощрить/наказать
|
Posted: Sat Aug 19, 2006 1:16 pm (написано за 1 минуту 25 секунд)
Post subject: Отличия в версиях MySQL – 4.0.27 и MySQL – 4.1.16
|
|
Извини пожалуйста. Вы бы не смог ли мне помочь в одном вопросе (запросе). Для СУБД MySQL. Тут такая ситуация, я писал запрос для MySQL - 4.1.16 (версия) А на сервере, где должен выполняться запрос версия MySQL - 4.0.27 И по этому работать не хочет. Выдает ошибку. Виделите, у меня там идет запрос с ПОДЗАПРОСОМ, ну т.е. есть такая конструкция: model_date > (SELECT max(SL.`cash_date`) FROM `shop_stat_log`) так вот та версия MySQL что находиться на сервере выдает на эту конструкцию ошибку Что то вроде "не верный синтаксис" я знаю, что в некоторых случаях ПОДЗАПРОС можно заменить объединением но вот уже второй день бьюсь не выходит вы бы могли мне помочь? Ниже я напишу мой запрос (правильный для MySQL - 4.1.16), а его нужно переделать для MySQL - 4.0.27, что он там выполнялся правильно Заранее спасибо. Code (SQL): | скопировать код в буфер обмена | SELECT S.user_id, sum(S.model_price) * (SC.percent / 100) AS FIELD_1, U.user_name FROM shop_statistics S, shop_stat_cnf SC, shop_users U WHERE (S.user_id = SC.user_id) AND (S.user_id = U.user_id) AND (S.discard = 0) AND ((model_date > (SELECT max(SL.`cash_date`) FROM `shop_stat_log` SL WHERE (SL.`user_id` = S.`user_id`))) OR ((EXISTS(SELECT max(SL.`cash_date`) FROM `shop_stat_log` SL WHERE (SL.`user_id` = S.`user_id`))) AND (0 = (SELECT count(SL.`cash_date`) FROM `shop_stat_log` SL WHERE (SL.`user_id` = S.`user_id`))))) GROUP BY S.user_id HAVING (FIELD_1 >= 100) | Не знаю, что ещё тут можно написать, добавить. Запрос верный, выполняется и выдает как раз то что мне нужно... Но вот не работает на сервере и все тут :( на сервере соответственно я софт (MySQL) поменять не смогу. Нужно искать решение программно.
|
|
bæv
Модератор «Дзена»

Joined: 27 Aug 2003
Posts: 7275
Карма: 9986 поощрить/наказать
|
Posted: Sat Aug 19, 2006 1:45 pm (спустя 28 минут; написано за 40 секунд)
Post subject:
|
|
Используйте временную таблицу:(dev.mysql.com/doc/refman/4.1/en/rewriting-subqueries.html )
|
|
BlackByte
Заглянувший
Joined: 19 Aug 2006
Posts: 3
Карма: 0 поощрить/наказать
Location: Украина
|
Posted: Sat Aug 19, 2006 2:23 pm (спустя 37 минут; написано за 32 секунды)
Post subject:
|
|
bæv, будьте добры пример для моего случая Извиняюсь, что то я не совсем понял...
|
|
bæv
Модератор «Дзена»

Joined: 27 Aug 2003
Posts: 7275
Карма: 9986 поощрить/наказать
|
Posted: Sat Aug 19, 2006 5:11 pm (спустя 2 часа 47 минут; написано за 40 секунд)
Post subject:
|
|
www.botik.ru/~rldp/mysql/mysqlcli/glava02.htm#example-Maximum-column-group-row
— смотрите пример
|
|
BlackByte
Заглянувший
Joined: 19 Aug 2006
Posts: 3
Карма: 0 поощрить/наказать
Location: Украина
|
Posted: Mon Aug 21, 2006 10:34 am (спустя 1 день 17 часов 22 минуты; написано за 33 секунды)
Post subject:
|
|
Спасибо за помощь. НО
Решил проблемму тем, что разбил запрос на 3 запроса.
|
|